Apache Cassandra Essentials by Nitin Padalia

Apache Cassandra Essentials by Nitin Padalia

Author:Nitin Padalia
Language: eng
Format: epub, azw3
Publisher: Packt Publishing


Size-tiered compaction

Size-tiered compaction is the default compaction strategy set for a column family if we don't specify a strategy explicitly. This compaction strategy starts merging multiple SSTable into one SSTable when the SSTable of similar size formed for a column family are equal to or more than a configured default (the default is four). This means that if by default four SSTable of similar size are formed for a column family, Cassandra will merge them into a new SSTable of a bigger size. The minimum number of SSTable required to start a minor compaction can be configured using the configuration option of the column family property called min_threshold. By default, Cassandra will form a compaction bucket of most 32 SSTable, which is configurable from the table property max_threshold. Cassandra uses the table configuration options bucket_low and bucket_high to decide which SSTable are similar in size, and form a compaction bucket. The default values are 0.5 and 1.5, respectively, which means it'll group all SSTable in a bucket if their sizes differ by 50 percent from their average size. There is one more table configuration option, called min_sstable_size, which puts all SSTable below this size in the same compaction bucket. Its default value is 50 MB, so all SSTable smaller than 50 MB will be put in the same compaction bucket.

So, if we've eight SSTable, sized 1, 75, 10, 115, 25, 5, 85, and 125 MB, one bucket will be of all SSTable smaller than 50 MB, that is [1,10,25,5] and the second would be [75,85,115,125].

The following figure shows how two compaction runs merged eight SSTable into two SSTable. Note that the second compaction run didn't pick the very first SSTable because it did not fall in the bucket_low and bucket_high range:



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.